package com.中介者模式;

/**
 * 同事抽象类
 */
public abstract class Coleague {

    /**
     * 同事类中聚合了中介者
     */
    private Mediator mediator;
    /**
     * 同事类的名字
     */
    public String name;

    /**
     * 有参构造
     */
    public Coleague(Mediator mediator, String name) {
        this.mediator = mediator;
        this.name = name;
    }

    /**
     * 获取中介对象
     */
    public Mediator getMediator() {
        return mediator;
    }

    /**
     * 抽象发送消息的方法，会被所有的同事类重写
     */
    public abstract void sendMessage(int stateChange);
}
